缓冲区 (分析)

摘要

在输入要素周围某一指定距离内创建缓冲区多边形。可执行可选融合以合并重叠缓冲区。

了解有关“缓冲区”工作原理的详细信息

插图

Buffer illustration

用法

语法

Buffer_analysis (in_features, out_feature_class, buffer_distance_or_field, {line_side}, {line_end_type}, {dissolve_option}, {dissolve_field})
参数说明数据类型
in_features

要进行缓冲的输入点、线或面要素。

Feature Layer
out_feature_class

包含输出要素缓冲区的要素类。

Feature Class
buffer_distance_or_field

创建的缓冲区与输入要素的距离。缓冲距离可以用表示线性距离的某个值来指定,也可以用输入要素中的某个数值字段(包含用来对每个要素进行缓冲的线性距离)来指定。

如果“距离”的线性单位未指定或输入了“未知”,则将使用输入要素空间参考的线性单位。

Linear unit ; Field
line_side
(可选)

将进行缓冲的输入要素的侧。

  • FULL对于线输入要素,将在线两侧生成缓冲区。对于面输入要素,将在面周围生成缓冲区,并且这些缓冲区将包含并叠加输入要素的区域。对于点输入要素,将在点周围生成缓冲区。这是默认设置。
  • LEFT对于线输入要素,将在线的拓扑左侧生成缓冲区。此选项对于面输入要素无效。
  • RIGHT对于线输入要素,将在线的拓扑右侧生成缓冲区。此选项对于面输入要素无效。
  • OUTSIDE_ONLY对于面输入要素,仅在输入面的外部生成缓冲区(输入面内部的区域将在输出缓冲区中被擦除)。此选项对于线输入要素无效。
许可许可:

此可选参数不适用于 ArcView 或 ArcEditor 级别许可。

String
line_end_type
(可选)

线输入要素末端的缓冲区形状。此参数对于面输入要素无效。

  • ROUND缓冲区的末端为圆形,即半圆形。这是默认设置。
  • FLAT缓冲区的末端很平整或者为方形,并且在输入线要素的端点处终止。
许可许可:

此可选参数不适用于 ArcView 或 ArcEditor 级别许可。

String
dissolve_option
(可选)

指定要执行哪种融合操作以移除输出缓冲区重叠。

  • NONE无论如何重叠,均保持每个要素的独立缓冲区。这是默认设置。
  • ALL将所有缓冲区融合为单个要素,从而移除所有重叠。
  • LIST融合共享所列字段(传递自输入要素)属性值的所有缓冲区。
String
dissolve_field
[dissolve_field,...]
(可选)

融合输出缓冲区所依据的输入要素的字段列表。融合共享所列字段(传递自输入要素)属性值的所有缓冲区。

Field

代码示例

缓冲区示例(Python 窗口)

以下 Python 窗口脚本演示了如何使用“缓冲区”工具:

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Buffer_analysis("roads", "C:/output/majorrdsBuffered" "100 Feet", "FULL", "ROUND", "LIST", "Distance")
缓冲区示例(独立脚本)

查找尚未被主要道路充斥的相应植被区域。

# Name: Buffer.py
# Description: Find areas of suitable vegetation which exclude areas heavily impacted by major roads
# Author: ESRI

# import system modules 
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data/Habitat_Analysis.gdb"

# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1" 
arcpy.Select_analysis(veg, suitableVeg, whereClause)

# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
sideType = "FULL"
endType = "ROUND"
dissolveType = "LIST"
dissolveField = "Distance"
arcpy.Buffer_analysis(roads, roadsBuffer, distanceField, sideType, endType, dissolveType, dissolveField)

# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
xyTol = "1 Meters"
arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)

环境

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012